In part, the quality of audio that is played back to a listener depends on how the audio was recorded and how the audio was compressed (if at all). A playback device can sometimes perform processing during playback, however, to improve the listening experience.
Audio level compression, also called dynamic range compression, is often desirable for audio playback. For example, compression can compensate for a noisy environment. In a noisy environment, such as driving in a car or walking along a busy street, quiet sounds can be lost in the surrounding noise. Using compression allows the volume to be increased dynamically, thus increasing the level of the quiet sounds, while limiting the increase in the level of loud sounds.
Implementing digital audio level compression using floating-point math can be costly in terms of computing resources. For example, the computing resources used must support floating-point operations. In addition, audio devices, such as portable audio devices, typically consume more power when executing floating-point operations if floating-point is not supported by the hardware and must be emulated.
Compression involves reducing the level of loud sounds and/or increasing the level of quiet sounds. In order to determine sound level, most compressors use a purely analytical measure of signal strength, such as peak or RMS. However, these measures do not take into account human perception of loudness.
Therefore, there exists ample opportunity for improvement in technologies related to audio level compression.